package request


type AlibabaBenefitSendRequest struct {
    /*
        发放的权益(奖品)唯一标识     */
    RightEname  *string `json:"right_ename" required:"true" `
    /*
        接收奖品的用户openId     */
    ReceiverId  *string `json:"receiver_id" required:"true" `
    /*
        规定填taobao即可     */
    UserType  *string `json:"user_type" required:"true" `
    /*
        幂等校验id，业务重试需要，自定义唯一字段即可     */
    UniqueId  *string `json:"unique_id" required:"true" `
    /*
        mtop     */
    AppName  *string `json:"app_name" required:"true" `
    /*
        调用应用ip，非必填     */
    Ip  *string `json:"ip,omitempty" required:"false" `
}

func (s *AlibabaBenefitSendRequest) SetRightEname(v string) *AlibabaBenefitSendRequest {
    s.RightEname = &v
    return s
}
func (s *AlibabaBenefitSendRequest) SetReceiverId(v string) *AlibabaBenefitSendRequest {
    s.ReceiverId = &v
    return s
}
func (s *AlibabaBenefitSendRequest) SetUserType(v string) *AlibabaBenefitSendRequest {
    s.UserType = &v
    return s
}
func (s *AlibabaBenefitSendRequest) SetUniqueId(v string) *AlibabaBenefitSendRequest {
    s.UniqueId = &v
    return s
}
func (s *AlibabaBenefitSendRequest) SetAppName(v string) *AlibabaBenefitSendRequest {
    s.AppName = &v
    return s
}
func (s *AlibabaBenefitSendRequest) SetIp(v string) *AlibabaBenefitSendRequest {
    s.Ip = &v
    return s
}

func (req *AlibabaBenefitSendRequest) ToMap() map[string]interface{} {
    paramMap := make(map[string]interface{})
    if(req.RightEname != nil) {
        paramMap["right_ename"] = *req.RightEname
    }
    if(req.ReceiverId != nil) {
        paramMap["receiver_id"] = *req.ReceiverId
    }
    if(req.UserType != nil) {
        paramMap["user_type"] = *req.UserType
    }
    if(req.UniqueId != nil) {
        paramMap["unique_id"] = *req.UniqueId
    }
    if(req.AppName != nil) {
        paramMap["app_name"] = *req.AppName
    }
    if(req.Ip != nil) {
        paramMap["ip"] = *req.Ip
    }
    return paramMap
}

func (req *AlibabaBenefitSendRequest) ToFileMap() map[string]interface{} {
    fileMap := make(map[string]interface{})
    return fileMap
}